# CSS3 & HTML5 介绍,Bootstrap Fundation 框架介绍,Less 的介绍
标签(空格分隔): HTML CSS
HTML5
1. 新的内容标签
HTML4中的内容标签级别相同,无法区分各部分内容。而HTML5中的内容标签互相独立,级别不同,搜索引擎以及统计软件等均可快速识别各部分内容。
2. 更好的表格体系
3. 音频、视频API
HTML5不但允许你在网页中直接整合视频、音频,同时更提供了一套功能丰富的API用来控制媒体播放,而这些用来控制媒体播放的元素也都是可以被编辑的。因此,HTML5在视频以及音频层面上实际已经可以替代常用的flash插件了。
4.地理(Geolocation) API
5.Canvas
style 中的 width 和 height 与 canvas 标签中所设置的 width 和 height
并不一样的 ,style 中的 宽高是在浏览器上面渲染出来的宽高,但是 canvas 设定的是画布实际的宽高,当 canvas的 width 和 height 没设定或者没设对时,就会被设置成默认值 300px 150px
CSS3
1. border-radius
http://www.w3cdream.com/content-sort-6-article-560.html
关于 border-radius
Safari 浏览器、Firefox 浏览器、Opera 浏览器及 Chrome 浏览器都支持这种绘制圆角边框的样式。
border-radius 可以设为 1-4 个值,规则为:
- 1 个值时表示: border-top-left 、border-top-right 、 border-bottom-right 与 border-bottom-left 四个值相同
- 2 个值时表示: border-top-left 与 border-bottom-right 相同,border-top-right 与 border-bottom-left 相同,也就是对角相同
- 3 个值时表示: 第一个值表示 border-top-left ,第二个值表示 border-top-right 与 border-bottom-left 相同,第三个值表示 border-bottom-right
- 4 个值时表示: border-top-left 、border-top-right 、 border-bottom-right 与 border-bottom-left , 从左上角按照顺时针排列
border-radius 还有一种比较特殊的写法,两个值间加 “ / “
当 border-radius 的两个值间加了斜杠的时候,第一个值就表示水平半径,而第二个值则表示垂直半径。
- 1 个值:表示其水平半径和垂直半径相等
- 2 个值: 表示其水平半径相等,但是两对角的垂直半径不相等 或者 其垂直半径相等,但是两对角的水平半径不相等
- 3 个值:表示其水平半径相等,但是 border-top-left 与 border-top-right/border-bottom-left 与 border-bottom-right 垂直半径不相等,或者其垂直半径相等,但是 border-top-left 与 border-top-right/border-bottom-left 与 border-bottom-right 水平半径不相等
- 4 个值:表示其水平半径相等,但是 border-top-left 与 border-top-right 与 border-bottom-left 与 border-bottom-right 这四个的垂直半径都不相等,或者表示其垂直半径相等,但是 border-top-left 与 border-top-right 与 border-bottom-left 与 border-bottom-right 这四个的水平半径都不相等
border-radius 的值除了可以用 px 来表示外,还可以用 % 来表示
在用 px 时,存在着一个问题,元素变大,会出现与设计稿不符的情况,解决这个问题可以用 % 来解决。另外两个比较特殊的写法,圆与椭圆;
另外boder 设置为 none ,并不影响 border-radius 的显示2. 2D 3D 转换与 transition 过渡
2D - translate(x,y) 表示元素从其当前位置移动,水平移动 x ,垂直移动 y 。
- rotate(xdeg) 表示旋转,deg 为单位,可有负值,正值表示顺时针旋转 x 度,负值表示逆时针旋转 x 度。
- scale(x,y) 表示元素水平方向变为原来的 x 倍,垂直方向变为原来的 y 倍。
- skew(xdeg,ydeg) 表示元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数
- matrix() 把所有 2D 转换方法组合在一起,而且需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素。
3D
3D 与 2D 最大的不同就是它添加了一个 Z 轴
translateX()
translateY()
translateZ()
transition 过渡
作用在于使变化不会显得太突兀。
注意透明度兼容 IE :filter:alpha(opacity=0);(取值 0-100)
3. 动画
http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html
animation: name duration timing-function delay iteration-count direction;
animation-name 指的是在 keyframes 中所定义的动画名字
animation-duration 指的是动画执行一次的时间,单位为秒或毫秒
animation-timing-function 指的是动画执行的速度曲线。默认为 ease
animation-delay 指的是动画执行前延迟的时间
animation-iteration-count 指的是动画执行的次数
animation-direction 指的是 是否应该轮流反向播放动画。
1. animation-timing-function 常用的几个值:
- linear 曲线:
- ease 曲线:
- ease-in 曲线:
- ease-out 曲线:
- ease-in-out 曲线:
这一个可以参考一下 MDN https://developer.mozilla.org/zh-CN/docs/Web/CSS/timing-function
2. animation-iteration-count 的值
n
infinite 循环播放
3. animation-direction
- 默认为 normal
- alternate 反向轮流播放
用动画最要紧的是要记住要做兼容,不同的浏览器的内核可能不一样,我们需要在前面添加前缀,例如 -webkit- -ms- -moz- 等等
4.CSS3 另外一些特性
例如:
- 背景颜色渐变
1
2
3
4
5
6
7
8div {
background: -moz-linear-gradient(top, #000000 0%, #ffffff 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#000000), color-stop(100%,#ffffff));
background: -webkit-linear-gradient(top, #000000 0%,#ffffff 100%);
background: -o-linear-gradient(top, #000000 0%,#ffffff 100%);
background: -ms-linear-gradient(top, #000000 0%,#ffffff 100%);
background: linear-gradient(to bottom, #000000 0%,#ffffff 100%);
}
http://caibaojian.com/css3/values/image/linear-gradient().htm
- rgba()
- 多重背景以及用图片来作为元素边框等等
3. Bootstrap
4. Fundation
http://foundation.zurb.com/sites/docs/v/5.5.3/
5. Less
http://www.1024i.com/demo/less/
LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。
LESSCSS可以在多种语言、环境中使用,包括浏览器端、桌面客户端、服务端。
less 好处在于
- 可以方便地屏蔽浏览器私有语法差异。这个不用多说,封装对浏览器语法差异的重复处理,减少无意义的机械劳动。
- 结构清晰,便于扩展。
- 可以轻松实现多重继承。
但缺点: - 须要编译。无论是放在客户端还是服务器端,都是一种额外的花销。
- 层级嵌套编译出来的类名选择很累赘